package com.fy.fyspace.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.fy.fyspace.common.auth.model.SpaceUser;
import com.fy.fyspace.common.result.R;
import com.fy.fyspace.model.vo.space.SpaceDetailVO;
import com.fy.fyspace.model.vo.user.UserSessionVO;

/**
* @author fwq
* @description 针对表【spaceUser(空间用户表)】的数据库操作Service
* @createDate 2025-02-01 23:53:40
*/
public interface SpaceUserService extends IService<SpaceUser> {

    /**
     *  登录
     * @param userId
     * @return
     */
    R login(Long userId);

    /**
     * 获取团队空间信息
     * @param userId 用户ID
     * @return 团队空间详细信息，包含成员列表
     */
    R getTeamSpaceInfo(Long userId);

    /**
     * 创建团队空间
     * @param userId
     * @return
     */
    R createTeamSpace(UserSessionVO userSessionVO);

    /**
     * 加入团队空间
     * @param spaceId
     * @param userSessionVO
     * @return
     */
    R joinTeamSpace(Long spaceId, UserSessionVO userSessionVO);

    /**
     * 获取空间详细信息
     * @param spaceId 空间ID
     * @param userId 当前用户ID
     * @return 空间详细信息
     */
    SpaceDetailVO getSpaceDetail(Long spaceId, Long userId);

}
